<%-- 
    Document   : obtener-expedientes-indices
    Created on : 16/09/2010, 10:23:48 PM
    Author     : Eduardo
--%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page import="java.util.*" %>
<%@page import="pe.gob.pnp.digitalizar.beans.*" %>
<%@page import="pe.gob.pnp.digitalizar.despachadores.*" %>

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<%
    int opcion = Integer.parseInt(request.getParameter("opcion"));
    String criterio = request.getParameter("criterio");
    List<ExpedienteDocumentoBean> expDocs = null;
    switch(opcion){
        case 1:
            expDocs = ExpedienteDespachador.obtenerExpedientesPorCriterio(criterio);
            break;
        case 2:
            expDocs = ExpedienteDespachador.obtenerExpedientesPorCodigo(criterio);
            break;
        case 3:
            expDocs = ExpedienteDespachador.obtenerExpedientesPorPersona(criterio);
            break;
        case 4:
            PersonalBean parametros = new PersonalBean();
            parametros.setId(Integer.parseInt(criterio));
            expDocs = ExpedienteDespachador.obtenerExpedientesParametros(parametros);
            System.out.println(expDocs.size());
            break;
    }
    session.setAttribute("lista-expedientes-documentos", expDocs);
    Map<Integer, Map<Integer, DocumentoDigitalizadoBean>> mapaExpDocs = new HashMap<Integer, Map<Integer, DocumentoDigitalizadoBean>>();
    Map<Integer, ExpedienteBean> mapaExpedientes = new HashMap<Integer, ExpedienteBean>();
    Map<Integer, DocumentoDigitalizadoBean> mapaDocumentos = new HashMap<Integer, DocumentoDigitalizadoBean>();
    for (ExpedienteDocumentoBean expDoc : expDocs) {
       if (!mapaExpedientes.containsKey(expDoc.getExpediente().getId())){
            mapaDocumentos = new HashMap<Integer, DocumentoDigitalizadoBean>();
        }
        mapaExpedientes.put(expDoc.getExpediente().getId(), expDoc.getExpediente());
        mapaDocumentos.put(expDoc.getDocumento().getId(), expDoc.getDocumento());
        mapaExpDocs.put(expDoc.getExpediente().getId(), mapaDocumentos);
    }
    session.setAttribute("mapa-exp-docs", mapaExpDocs);
    Set<Integer> llaves = mapaExpedientes.keySet();
    pageContext.setAttribute("llavesExpedientes", llaves);
    pageContext.setAttribute("mapaExpedientes", mapaExpedientes);
%>
{
    expedientes:
    [
    <c:forEach var="llave" items="${llavesExpedientes}" varStatus="estado">
        <c:set var="expediente" value="${mapaExpedientes[llave]}"/>
        ${estado.index>0 ? "," : ""}
        {
            id: "${expediente.id}",
            numeroExpediente: "${expediente.numeroExpediente}",
            nombreCompleto: "${expediente.personal.nombreCompleto}",
            grado: "${expediente.personal.grado}",
            folios: "${expediente.nroFolios}"
        }
</c:forEach>

    ]
}